package com.ruoyi.project.mahjong.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.project.mahjong.domain.vo.ProductJsonVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.framework.aspectj.lang.annotation.Excel;
import com.ruoyi.framework.web.domain.BaseEntity;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * 会员开桌中商品消费对象 t_open_money
 *
 * @author ruoyi
 * @date 2023-10-10
 */
@ApiModel("员开桌时商品消费实体类字段描述")
public class TOpenMoney extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 预留3 */
    @Excel(name = "预留3")
    @ApiModelProperty("预留3")
    private String bak3;
    private List<ProductJsonVo> jsonVo;
    @ApiModelProperty("购买属性 ：1 店内商品购买 2 店员代购")
    private String buyType;
    private TRecord  record;

    /** 预留2 */
    @Excel(name = "预留2")
    @ApiModelProperty("预留2")
    private String bak2;
    @ApiModelProperty("店铺id")
    private Long shopId;
    @ApiModelProperty("商品json")
    private String productInfo;
    @ApiModelProperty("商品支付方式 1 线上  2线下其他 3会员卡内扣款")
    private Long payType;
    @ApiModelProperty("会员姓名")
    private String memberName;
    @ApiModelProperty("消费桌号")
    private String costTable;
    /** 房间id */
    @ApiModelProperty("房间id")
    private String roomId;

    /** 预留1 */
    @Excel(name = "预留1")
    @ApiModelProperty("预留1")
    private String bak1;
    /** 会员的余额 */
    @ApiModelProperty("会员的余额")
    private String memberMoney;

    /** 购买时间 */
    @Excel(name = "购买时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty("购买时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date buyTime;


    /** 商品金额 */
    @Excel(name = "商品金额")
    @ApiModelProperty("商品金额")
    private BigDecimal money;

    /** 购买数量 */
    @Excel(name = "购买数量")
    @ApiModelProperty("购买数量")
    private Long buyNumber;

    /** 总金额 */
    @Excel(name = "总金额")
    @ApiModelProperty("总金额")
    private BigDecimal totalMoney;

    /** 订单编号 */
    @Excel(name = "订单编号")
    @ApiModelProperty("订单编号")
    private String orderNumber;

    /** 商品名称 */
    @Excel(name = "商品名称")
    @ApiModelProperty("商品名称")
    private String productName;

    /** 商品id */
    @Excel(name = "商品id")
    @ApiModelProperty("商品id")
    private Long productId;

    /** 会员id */
    @Excel(name = "会员id")
    @ApiModelProperty("会员id")
    private Long memberId;

    /** 操作员工 */
    @Excel(name = "操作员工")
    @ApiModelProperty("操作员工")
    private Long staffId;

    /** id */
    @ApiModelProperty("id")
    private Long id;

    private BigDecimal storedMoney;

    private BigDecimal sendMoney;

    public String getBuyType() {
        return buyType;
    }

    public void setBuyType(String buyType) {
        this.buyType = buyType;
    }

    public Long getPayType() {
        return payType;
    }

    public void setPayType(Long payType) {
        this.payType = payType;
    }

    public List<ProductJsonVo> getJsonVo() {
        return jsonVo;
    }

    public void setJsonVo(List<ProductJsonVo> jsonVo) {
        this.jsonVo = jsonVo;
    }

    public String getProductInfo() {
        return productInfo;
    }

    public void setProductInfo(String productInfo) {
        this.productInfo = productInfo;
    }

    public void setBak3(String bak3)
    {
        this.bak3 = bak3;
    }

    public String getBak3()
    {
        return bak3;
    }
    public void setBak2(String bak2)
    {
        this.bak2 = bak2;
    }

    public String getBak2()
    {
        return bak2;
    }
    public void setBak1(String bak1)
    {
        this.bak1 = bak1;
    }

    public String getBak1()
    {
        return bak1;
    }
    public void setBuyTime(Date buyTime)
    {
        this.buyTime = buyTime;
    }

    public Date getBuyTime()
    {
        return buyTime;
    }
    public void setMoney(BigDecimal money)
    {
        this.money = money;
    }

    public BigDecimal getMoney()
    {
        return money;
    }
    public void setBuyNumber(Long buyNumber)
    {
        this.buyNumber = buyNumber;
    }

    public Long getBuyNumber()
    {
        return buyNumber;
    }
    public void setOrderNumber(String orderNumber)
    {
        this.orderNumber = orderNumber;
    }

    public String getOrderNumber()
    {
        return orderNumber;
    }
    public void setProductName(String productName)
    {
        this.productName = productName;
    }

    public String getProductName()
    {
        return productName;
    }
    public void setProductId(Long productId)
    {
        this.productId = productId;
    }

    public Long getProductId()
    {
        return productId;
    }
    public void setMemberId(Long memberId)
    {
        this.memberId = memberId;
    }

    public Long getMemberId()
    {
        return memberId;
    }
    public void setStaffId(Long staffId)
    {
        this.staffId = staffId;
    }

    public Long getStaffId()
    {
        return staffId;
    }
    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }

    public String getMemberMoney() {
        return memberMoney;
    }

    public void setMemberMoney(String memberMoney) {
        this.memberMoney = memberMoney;
    }

    public Long getShopId() {
        return shopId;
    }

    public void setShopId(Long shopId) {
        this.shopId = shopId;
    }

    public String getMemberName() {
        return memberName;
    }

    public void setMemberName(String memberName) {
        this.memberName = memberName;
    }

    public String getCostTable() {
        return costTable;
    }

    public void setCostTable(String costTable) {
        this.costTable = costTable;
    }

    public String getRoomId() {
        return roomId;
    }

    public void setRoomId(String roomId) {
        this.roomId = roomId;
    }

    public TRecord getRecord() {
        return record;
    }

    public void setRecord(TRecord record) {
        this.record = record;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("bak3", getBak3())
            .append("bak2", getBak2())
            .append("bak1", getBak1())
            .append("remark", getRemark())
            .append("buyTime", getBuyTime())
            .append("money", getMoney())
            .append("buyNumber", getBuyNumber())
            .append("orderNumber", getOrderNumber())
            .append("productName", getProductName())
            .append("productId", getProductId())
            .append("memberId", getMemberId())
            .append("staffId", getStaffId())
            .append("memberMoney", getMemberMoney())
            .append("shopId", getShopId())
            .append("memberName", getMemberName())
            .append("costTable", getMemberName())
            .append("roomId", getRoomId())
            .append("id", getId())
            .toString();
    }

    public BigDecimal getStoredMoney() {
        return storedMoney;
    }

    public void setStoredMoney(BigDecimal storedMoney) {
        this.storedMoney = storedMoney;
    }

    public BigDecimal getSendMoney() {
        return sendMoney;
    }

    public void setSendMoney(BigDecimal sendMoney) {
        this.sendMoney = sendMoney;
    }

    public BigDecimal getTotalMoney() {
        return totalMoney;
    }

    public void setTotalMoney(BigDecimal totalMoney) {
        this.totalMoney = totalMoney;
    }
}
